Skip to content

ci: declare empty permissions on release workflow#1491

Open
arpitjain099 wants to merge 1 commit into
denoland:mainfrom
arpitjain099:chore/release-permissions
Open

ci: declare empty permissions on release workflow#1491
arpitjain099 wants to merge 1 commit into
denoland:mainfrom
arpitjain099:chore/release-permissions

Conversation

@arpitjain099
Copy link
Copy Markdown

@arpitjain099 arpitjain099 commented May 14, 2026

Pins the release job to permissions: {}. The job checks out the repo with secrets.DENOBOT_PAT and runs deno run -A jsr:@deno/rust-automation@0.22.0/tasks/publish-release with GITHUB_TOKEN: ${{ secrets.DENOBOT_PAT }}. The workflow's own GITHUB_TOKEN is never used.

Defense-in-depth angle: a compromised third-party action (cf. CVE-2025-30066) runs inside the existing job context and exfiltrates whatever scope the workflow token holds via build logs. With permissions: {} the token has zero scope to leak; release authority lives only in DENOBOT_PAT.

Matches the per-job permission block already declared in ci.yml. YAML validated locally with yaml.safe_load.

The release job clones with DENOBOT_PAT and runs the publish-release
task with the same PAT for GITHUB_TOKEN. The workflow's own GITHUB_TOKEN
is unused. permissions:{} captures that.

Style matches the per-job permission block in ci.yml.

Signed-off-by: Arpit Jain <arpitjain099@gmail.com>
@CLAassistant
Copy link
Copy Markdown

CLAassistant commented May 14, 2026

CLA assistant check
All committers have signed the CLA.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants